<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>p4vasp.store.Profile</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="p4vasp-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="../index.html">p4vasp</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="p4vasp-module.html">Package&nbsp;p4vasp</a> ::
        <a href="p4vasp.store-module.html">Module&nbsp;store</a> ::
        Class&nbsp;Profile
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="p4vasp.store.Profile-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Profile</h1><p class="nomargin-top"><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile">source&nbsp;code</a></span></p>
<center>

</center>
<hr />
<pre class="literalblock">
Profile handles the storage and retrieval of arbitrary data.
Data are stored to a stream in xml format.
To read the data, it is necessary to create a DOM element, e.g. by xml.dom.minidom
or ODPdom (http://sf.net/projects/odpdom).

Handling of primitive objects is controlled by write and retrieve handlers (see later).
They do not need to be modified, unless you are not happy with the defaults.
The objects (classes) are handled using class profiles.

  Write and retrieve handlers:

    The reading and writing of primitive types is performed using write and retrieve handlers.
    The write-handlers control storing of primitive types *obj* to stream *s*.
    Write-handler is a function with four arguments: *s*, *obj*, *indentation* and *label*.
    Argument *indentation* is an integer containing the level of indentation,
    *label* contains the label, that is used to identify the object, if it is referenced on several places.

    The retrieve-handler controlls retrieving objects from DOM elements.
    It has a single argument containing the DOM Element.

    Write-handlers are stored in the write_handlers dictionary, where the
    object type is the key and write-handler is the value.
    Similarily, retrieve-handlers are stored in the retrieve_handlers dictionary,
    where the xml tag-name is the key and retrieve-handler is the value.

    If the write-handler is not found for the given object, the *defaultWriteHandler* handler is used.

</pre>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">tagname</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">list_saving</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">dict_saving</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">disable_attr</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">attr_setup</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">attr_profiles</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
        <span class="summary-sig-arg">class_profiles</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span><br />
      Create *Profile*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#load" class="summary-sig-name">load</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>)</span><br />
      Load object from a stream *f*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.load">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#loads" class="summary-sig-name">loads</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">s</span>)</span><br />
      Load object from a string *s*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.loads">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#dump" class="summary-sig-name">dump</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">o</span>,
        <span class="summary-sig-arg">f</span>)</span><br />
      Dumps object *o* to a stream *f*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.dump">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#dumps" class="summary-sig-name">dumps</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">o</span>)</span><br />
      Dumps object *o* to a string.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.dumps">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="getRoot"></a><span class="summary-sig-name">getRoot</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Get the Profile root.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.getRoot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="rll"></a><span class="summary-sig-name">rll</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>,
        <span class="summary-sig-arg">obj</span>)</span><br />
      Register label/object pair during retrieve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.rll">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="addClass"></a><span class="summary-sig-name">addClass</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">c</span>)</span><br />
      Add class profile.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.addClass">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="addAttr"></a><span class="summary-sig-name">addAttr</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">aprof</span>)</span><br />
      Register AttributeProfile *aprof*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.addAttr">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#cleanReftables" class="summary-sig-name">cleanReftables</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Clean tables containing both retrieve and write reference tables.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.cleanReftables">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#createReftable" class="summary-sig-name">createReftable</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">ctab</span>=<span class="summary-sig-default">None</span>)</span><br />
      Create table of references.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.createReftable">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#defaultWriteHandler" class="summary-sig-name">defaultWriteHandler</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">x</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Default write handler.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.defaultWriteHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="defaultWriteAttrHandler"></a><span class="summary-sig-name">defaultWriteAttrHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">key</span>,
        <span class="summary-sig-arg">val</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>)</span><br />
      Default method for writing attributes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.defaultWriteAttrHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieveListHandler"></a><span class="summary-sig-name">retrieveListHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>)</span><br />
      retrieve handler for lists.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveListHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieveDictHandler"></a><span class="summary-sig-name">retrieveDictHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>)</span><br />
      retrieve handler for dictionary.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveDictHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeListHandler"></a><span class="summary-sig-name">writeListHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write handler for lists.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeListHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeTupleHandler"></a><span class="summary-sig-name">writeTupleHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write handler for tuple.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeTupleHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeDictHandler"></a><span class="summary-sig-name">writeDictHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write handler for dictionary.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeDictHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeItem"></a><span class="summary-sig-name">writeItem</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>)</span><br />
      Write array elements (of the class instance).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeItem">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writePair"></a><span class="summary-sig-name">writePair</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">key</span>,
        <span class="summary-sig-arg">value</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>)</span><br />
      Write key/value pairs (of the class instance).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writePair">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeRef"></a><span class="summary-sig-name">writeRef</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">label</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>)</span><br />
      Write reference to an object identified by *label*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeRef">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieveRef"></a><span class="summary-sig-name">retrieveRef</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>)</span><br />
      retrieve handler for references (written by writeRef).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveRef">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write the xml reprezentation of object *obj* to a stream *f*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.write">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="writeInstanceHandler"></a><span class="summary-sig-name">writeInstanceHandler</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write handler for writing class instances.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeInstanceHandler">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieve"></a><span class="summary-sig-name">retrieve</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>)</span><br />
      Retrieve object from a DOM Element *elem*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieve">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#countObjects" class="summary-sig-name">countObjects</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">ctab</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span><br />
      Count how many times is the object referenced.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.countObjects">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#countObjectsObj" class="summary-sig-name">countObjectsObj</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">ctab</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span><br />
      Count how many times is the object (class instance) referenced.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.countObjectsObj">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#writeObj" class="summary-sig-name">writeObj</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">f</span>,
        <span class="summary-sig-arg">obj</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">label</span>=<span class="summary-sig-default">None</span>)</span><br />
      Write class instance *obj* to the stream *f*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeObj">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="createClass"></a><span class="summary-sig-name">createClass</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Create class instance of the class handled by this Profile.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.createClass">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieveAttr"></a><span class="summary-sig-name">retrieveAttr</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>,
        <span class="summary-sig-arg">c</span>)</span><br />
      retrieve attribute of class instance *c* from DOM Element *elem*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveAttr">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrieveItem"></a><span class="summary-sig-name">retrieveItem</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>,
        <span class="summary-sig-arg">c</span>)</span><br />
      retrieve array item of the class instance *c* from the DOM Element 
      *elem*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveItem">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="retrievePair"></a><span class="summary-sig-name">retrievePair</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>,
        <span class="summary-sig-arg">c</span>)</span><br />
      retrieve key/value pair of the class instance *c* from the DOM 
      Element *elem*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrievePair">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#retrieveObj" class="summary-sig-name">retrieveObj</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">elem</span>,
        <span class="summary-sig-arg">c</span>=<span class="summary-sig-default">None</span>)</span><br />
      retrieve class instance from a DOM Element *elem*.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveObj">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#afterRetrieveObj" class="summary-sig-name">afterRetrieveObj</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">c</span>,
        <span class="summary-sig-arg">elem</span>)</span><br />
      Called before *retrieveObj* returns - i.e.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.afterRetrieveObj">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="p4vasp.store.Profile-class.html#setupAttributes" class="summary-sig-name">setupAttributes</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">l</span>)</span><br />
      Simple setup of attributes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.setupAttributes">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">name</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">tagname</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">list_saving</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">dict_saving</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">disable_attr</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">attr_setup</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">attr_profiles</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
        <span class="sig-arg">class_profiles</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Create *Profile*.</p>
  <p>*name* - can be either class-name (string) containing module path, 
  object of type InstanceType or ClassType. This argument identifies what 
  kind of class instance is stored.</p>
  <p>*tagname* - tag-name used in xml to identify the class. If *None* 
  (default), then *self.default_class_tag* is used(&quot;class&quot;).</p>
  <p>*list_saving* - if true, the elements of an array-like class are 
  stored using the *writeItem* method. The *retrieveItem* method is used to
  retrieve items from the DOM Element.</p>
  <p>*dict_saving* - if true, the key/value pairs of a dictionary-like 
  class are stored using the *writePair* method. The *retrievePair* method 
  is used to retrieve key/value pairs from the DOM Element.</p>
  <p>*disable_attr* - Can contain list of attributes, that are not stored. 
  If *disable_attr* is one, then no attributes are stored, if it is zero 
  (default) then all attributes are stored.</p>
  <p>*attr_setup* - Quickly setup attributes. The *setupAttributes* method 
  is called with this argument if it is not *None*.</p>
  <p>*attr_profiles* - A list of containing *AttributeProfile* elements. 
  Each element is added using the *addAttr* method.</p>
  <p>*class_profiles* - A list of containing *Profile* elements. Each 
  element is added using the *addClass* method.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="load"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">load</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">f</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.load">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Load object from a stream *f*. Loaded object is returned. This is a 
  convenience method that reads the dom document, calls *retrieve* and 
  frees the reference tables.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="loads"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">loads</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">s</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.loads">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Load object from a string *s*. Loaded object is returned. This is a 
  convenience method that reads the dom document, calls *retrieve* and 
  frees the reference tables.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="dump"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">dump</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">o</span>,
        <span class="sig-arg">f</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.dump">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Dumps object *o* to a stream *f*. This is a convenience method that 
  creates the reference tables, calls *write* and frees the reference 
  tables again.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="dumps"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">dumps</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">o</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.dumps">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Dumps object *o* to a string. The string representation of the object 
  *o* is returned. This is a convenience method that calls *dump* with 
  StringIO.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="cleanReftables"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">cleanReftables</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.cleanReftables">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Clean tables containing both retrieve and write reference tables. This
  should be called after *write* or *retrieve* methods finished.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="createReftable"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">createReftable</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">obj</span>,
        <span class="sig-arg">ctab</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.createReftable">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Create table of references. It is necessary to create this table 
  before writing objects if the same object is referenced more than once. 
  This table should be cleaned by the *cleanReftables* method, when it is 
  not needed anymore.</p>
  <p>Table of references (self.write_reftable) is a dictionary, where the 
  key is the id() of the object and value is the label (integer 
  number).</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="defaultWriteHandler"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">defaultWriteHandler</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">f</span>,
        <span class="sig-arg">x</span>,
        <span class="sig-arg">indent</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">label</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.defaultWriteHandler">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Default write handler. This is used if no other write method for the 
  given object is defined. First, it is tried self.parent.write, if this 
  fails, then *writePickleHandler* is used. If even this fails, 
  &lt;None/&gt; is stored.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="write"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">f</span>,
        <span class="sig-arg">obj</span>,
        <span class="sig-arg">indent</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">label</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.write">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Write the xml reprezentation of object *obj* to a stream *f*.</p>
  <p>If *obj* contains objects, that are referenced more than once, call 
  the *createReftable(obj)* method before *write*.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="countObjects"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">countObjects</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">obj</span>,
        <span class="sig-arg">ctab</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.countObjects">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Count how many times is the object referenced. Returns table 
  containing id(obj) as key and number of references (within the object 
  tree) as a value. This is used in createReftable.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="countObjectsObj"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">countObjectsObj</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">obj</span>,
        <span class="sig-arg">ctab</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.countObjectsObj">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Count how many times is the object (class instance) referenced. 
  Returns table containing id(obj) as key and number of references (within 
  the object tree) as a value. This is used in *countObjects* to count 
  objects in class instances.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="writeObj"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">writeObj</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">f</span>,
        <span class="sig-arg">obj</span>,
        <span class="sig-arg">indent</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">label</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.writeObj">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Write class instance *obj* to the stream *f*. This is used as a 
  handler for storing class instances in *Profile*.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="retrieveObj"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">retrieveObj</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">elem</span>,
        <span class="sig-arg">c</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.retrieveObj">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>retrieve class instance from a DOM Element *elem*. If the class 
  instance is supplied as an argument *c*, then the class attributes will 
  be loaded into it, otherwise, a new instance will be created.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="afterRetrieveObj"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">afterRetrieveObj</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">c</span>,
        <span class="sig-arg">elem</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.afterRetrieveObj">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Called before *retrieveObj* returns - i.e. when the object was 
  retrieved. The arguments contain the retrieved objects (*c*) and the 
  source DOM element (*elem*). This can be used to to something after the 
  object is retrieved - initialization, maintenance, whatever...</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="setupAttributes"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">setupAttributes</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">l</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="p4vasp.store-pysrc.html#Profile.setupAttributes">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Simple setup of attributes.
Argument *l* is either a list of lists or a string.
Each line of *l* (element of *l*) contains one, two or three strings:

  - name

  - type name

  - type xml-alias name

For each (nonempty) line an attribute is added (with *addAttr*),
optionally setting up the type and xml-alias (the attribute name used in the
xml document).
Supported types are:

  int - integer number (IntType)

  string - string (StringType)

  float - float number (FloatType)

  list - list (ListType)

  intlist - list of integers

  stringlist - list of strings separated by whitespace

  floatlist -list of float numbers

  pickle - pickled value

  marshal - marshaled value

  class - class (ClassType)

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="p4vasp-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="../index.html">p4vasp</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun Aug 16 22:08:11 2015
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
